package com.nhim.cms.admin.client.style;

import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.CssResource;
import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.resources.client.CssResource.NotStrict;


public class Styles {
	public interface ControlPanel extends CssResource
	{
		String controlBar();
		String btn();
		String searchTextBox();
		String searchButton();
		String controls();
		String searchContainer();
	}
	public interface Form extends CssResource
	{
		String label();
		String textBox();
		String listBox();
		String legend();
		String errors();
	}

  /**
   * Common styles.
   */
  public interface Common extends CssResource {


    String blankOption();

    String box();

    /**
     * Applied to the message in the error popup.
     */
    String errorPopupMessage();
    
    /**
     * Applied to the searchable column in ElementDefinitionList.
     */
    String elementDefinitionListSearchableColumn();
    
    /**
     * Applied to the editable column in ElementDefinitionList.
     */
    String elementDefinitionListAllowEditColumn();
    /**
     * Applied to the metadata column in ElementDefinitionList.
     */
    String elementDefinitionListMetadataColumn();
    /**
     * Applied to the input type column in ElementDefinitionList.
     */
    String elementDefinitionListInputTypeColumn();

    /**
     * Applied to the description column in ElementDefinitionList.
     */
    String elementDefinitionListDescriptionColumn();
    
    String elementDefinitionTemplateRemoveColumn();
    
    String elementDefinitionTemplateEditColumn();
    String elementTemplateSpacerColumn();
    
    String customWidgetNameColumn();
    String customWidgetDescriptionColumn();
    String customWidgetClassNameColumn();

    /**
     * Applied to the Name column 
     */
    String elementDefinitionListNameColumn();

    String header();

    String headerLeft();

    String headerMain();

    String padded();

    /**
     * Applied to popup panels.
     */
    String popupPanel();
    
    String popupMessage();

    /**
     * Applied to columns used as spacers.
     */
    String spacerColumn();

    String table();

    /**
     * Applied to the username portion of a tree item.
     */
    String usernameTreeItem();

    /**
     * Applied to the username portion of a tree item when selected.
     */
    String usernameTreeItemSelected();
  }

  /**
   * Shared resources.
   */
  public interface Resources extends ClientBundle {

    @NotStrict
    @Source("common.css")
    Common common();
    
    @NotStrict
    @Source("form.css")
    Form form();
    
    @NotStrict
    @Source("controlPanel.css")
    ControlPanel controlPanel();


    /**
     * Blank icon used for spacing.
     */
    ImageResource blankIcon();


    /**
     * Icon used to represent an error.
     */
    ImageResource errorIcon(); 


    /**
     * Right rounded corner of a search box.
     */
    ImageResource searchRight();

    /**
     * Icon used to represent a user.
     */
    
    ImageResource downArrow();

    ImageResource upArrow();
    
    ImageResource logo();
    
    ImageResource customWidgetInstance();
    
  }

  private static Resources resources;

  static {
    resources = GWT.create(Resources.class);
    resources.common().ensureInjected();
  }

  public static Common common() {
    return resources.common();
  }
  public static Form form()
  {
	  return resources.form();
  }
  public static ControlPanel controPanel()
  {
	  return resources.controlPanel();
  }

  public static Resources resources() {
    return resources;
  }
}
